/**
 * @description: Login interface parameters
 */
export interface LoginParams {
  password: string;
  captcha: string;
  loginText: string;
  randomStr: string;
}

export interface RoleInfo {
  roleName: string;
  value: string;
}

/**
 * @description: Login interface return value
 */
export interface LoginResultModel {
  userId: string | number;
  token: string;
  role: RoleInfo;
  expire: number;
  tenantId: string;
}

/**
 * @description: Get user information return value
 */
export interface GetUserInfoModel {
  searchValue: string;
  createBy: string;
  createTime: string;
  updateBy: string;
  updateTime: string;
  beginTime: string;
  endTime: string;
  params: any;
  sortField: string;
  sortOrder: string;
  id: string | number;
  sysName: string;
  rightReserved: string;
  sysTitle: string;
  recordNumber: string;
  recordNumberLink: string;
  version: string;
  stationStatus: number;
  serviceTel: string;
  stationCloseInfo: string;
  userAgreement: string;
  backgroundUrl: string;
  deleted: boolean;
  tenantId: string;
  enabled: number;
  logoUrl: {
    imagePathBig: string;
    imagePathSmall: string;
    remark: string;
  };
  roles: RoleInfo[];
}

export interface GetSysUserInfoModel {
  avatar: string;
  createTime: string;
  currTenantId: string;
  dept: {
    deptId: string;
    deptName: string;
    leader: string;
    leaderId: string;
    phone: string;
    email: string;
    status: string;
  };
  deptId: string;
  email: string;
  loginName: string;
  phonenumber: string;
  postIds: string;
  relationId: string;
  roleIds: number[];
  roles: Object[];
  sex: string;
  status: string;
  tenantInfo: string;
  userId: number;
  userName: string;
  userType: string;
}
